package pl.marekbar.baza;

import android.content.ContentValues;
import android.database.Cursor;
import pl.marekbar.Data;

public class Foto extends Tabela implements TablicaAkcje
{

	private int id;
	private String plik;
	private Data data_zrobienia;
	private int czyje;
	private String czy_mozna_usunac;
	private String czy_glowne;
	private String tytul;
	private String opis;

	public static final String POLE_ID = "id";
	public static final String POLE_PLIK = "plik";
	public static final String POLE_DATA = "data_zrobienia";
	public static final String POLE_CZYJE = "czyje";
	public static final String POLE_CZY_MOZNA_USUNAC = "czy_mozna_usunac";
	public static final String POLE_CZY_GLOWNE = "czy_glowne";
	public static final String POLE_TYTUL = "tytul";
	public static final String POLE_OPIS = "opis";

	public static final String NAZWA_TABELI = "foto";



	public int pobierzId()
	{
		return this.id;
	}



	public void ustawId(int id)
	{
		this.id = id;
	}



	public String pobierzSciezkePliku()
	{
		return this.plik;
	}



	public void ustawSciezkePliku(String sciezkaPliku)
	{
		this.plik = sciezkaPliku;
	}



	public Data pobierzDate()
	{
		return this.data_zrobienia;
	}



	public String pobierzDateTekst()
	{
		return this.data_zrobienia.toString();
	}



	public void ustawDate(Data data)
	{
		this.data_zrobienia = data;
	}



	public void ustawDate(String data)
	{
		this.data_zrobienia = new Data(data);
	}



	public boolean pobierzCzyUsunac()
	{
		return this.czy_mozna_usunac == "tak" ? true : false;
	}



	public void ustawCzyUsunac(boolean czyMoznaUsunac)
	{
		this.czy_mozna_usunac = czyMoznaUsunac ? "tak" : "nie";
	}



	public void ustawCzyUsunac(String czyMoznaUsunac)
	{
		this.czy_mozna_usunac = czyMoznaUsunac == "tak" ? "tak" : "nie";
	}



	public boolean pobierzCzyGlowne()
	{
		return this.czy_glowne == "tak" ? true : false;
	}



	public void ustawCzyGlowne(boolean czyMoznaUsunac)
	{
		this.czy_glowne = czyMoznaUsunac ? "tak" : "nie";
	}



	public void ustawCzyGlowne(String czyMoznaUsunac)
	{
		this.czy_glowne = czyMoznaUsunac == "tak" ? "tak" : "nie";
	}



	public String pobierzTytul()
	{
		return this.tytul;
	}



	public void ustawTytul(String tytul)
	{
		this.tytul = tytul;
	}



	public String pobierzOpis()
	{
		return this.opis;
	}



	public void ustawOpis(String opis)
	{
		this.tytul = opis;
	}



	public int pobierzCzyje()
	{
		return this.czyje;
	}



	public void ustawCzyje(int czyje)
	{
		this.czyje = czyje;
	}



	public void ustawCzyje(Krolik krolik)
	{
		this.czyje = krolik.pobierzId();
	}



	public Krolik pobierzCzyjeKrolik()
	{
		Krolik krolik = null;
		Krolik.pobierz(Foto.pobierzKontekst(), this.czyje);
		return krolik;
	}



	public Foto()
	{
	}



	public static Foto CursorToFoto(Cursor kursor)
	{
		Foto foto = new Foto();
		if (kursor == null) { return foto; }
		foto.ustawId(kursor.getInt(kursor.getColumnIndex(Foto.POLE_ID)));
		foto.ustawSciezkePliku(kursor.getString(kursor
				.getColumnIndex(Foto.POLE_PLIK)));
		foto.ustawCzyGlowne(kursor.getString(kursor
				.getColumnIndex(Foto.POLE_CZY_GLOWNE)));
		foto.ustawCzyUsunac(kursor.getString(kursor
				.getColumnIndex(Foto.POLE_CZY_MOZNA_USUNAC)));
		foto.ustawCzyje(kursor.getInt(kursor.getColumnIndex(Foto.POLE_CZYJE)));
		foto.ustawDate(kursor.getString(kursor.getColumnIndex(Foto.POLE_DATA)));
		foto.ustawTytul(kursor.getString(kursor.getColumnIndex(Foto.POLE_TYTUL)));
		foto.ustawOpis(kursor.getString(kursor.getColumnIndex(Foto.POLE_OPIS)));
		return foto;
	}



	@Override
	public boolean usun()
	{
		return Foto.usun(Foto.NAZWA_TABELI, this.pobierzId());
	}



	@Override
	public boolean dodaj()
	{
		return Foto.dodaj(Foto.NAZWA_TABELI, this.pobierzDaneCV());
	}



	@Override
	public ContentValues pobierzDaneCV()
	{
		ContentValues cv = new ContentValues();
		cv.put(Foto.POLE_PLIK, this.plik);
		cv.put(Foto.POLE_CZY_GLOWNE, this.czy_glowne);
		cv.put(Foto.POLE_CZY_MOZNA_USUNAC, this.czy_mozna_usunac);
		cv.put(Foto.POLE_CZYJE, this.czyje);
		cv.put(Foto.POLE_DATA, this.data_zrobienia.toString());
		cv.put(Foto.POLE_OPIS, this.opis);
		cv.put(Foto.POLE_TYTUL, this.tytul);
		return cv;
	}



	@Override
	public boolean uaktualnij()
	{
		return Foto.uaktualnij(Foto.NAZWA_TABELI, this.pobierzDaneCV(),
				this.pobierzId());
	}

}
